package cn.wit.test;

import java.util.ArrayList;
import java.util.List;

import org.junit.Test;

public class AddOne {
    public int[] plusOne(int[] digits) {
    	int end=digits.length;
    	
    	List<Integer> list=new ArrayList<>();
    	for(int temp:digits) {
    		list.add(temp);
    	}
    	while(end>0) {
    		if(end==1) {
    			if(list.get(end-1)==9) {
    				list.set(end-1, 0);
    				list.add(0, 1);
    			}else {
    				list.set(end-1, list.get(end-1)+1);
    			}
    		}else {
    			if(list.get(end-1)==9) {
    				list.set(end-1, 0);
    			}else {
    				list.set(end-1, list.get(end-1)+1);
    				break;
    			}
    		}
    		end--;
    	}
    	int[] result=new int[list.size()];
    	for(int i=0;i<result.length;i++) {
    		result[i]=list.get(i);
    	}
		return result;
        
    }
    @Test public void test() {
    	int[] digits= {9};
    	int[] result=plusOne(digits);
    	for(int temp:result) {
    		System.out.print(temp+" ");
    	}
    }
}
